System and method for determining geolocation of wireless access point or wireless device

ABSTRACT

In order to determine the location of wireless network devices without inherent location capabilities, a wireless network device such as an access point can receive geolocation information from transient data sources such as mobile devices requiring network access from the access point. The access point stores geolocation records including location coordinates received from the transient data sources. The geolocation records can be processed to determine the position and movement of the access point. The geolocation records and/or location information can be passed to other transient clients that do not have inherent location capability.

FIELD OF THE INVENTION

This disclosure relates to wireless network devices and in particular tolocation based services on wireless network devices.

BACKGROUND OF THE INVENTION

Some devices involved in a wireless network lack the hardware needed tofind their location, e.g., most commercial WiFi access points lack GPSreceivers, or even the ability to store manually specified geolocationcoordinates. As a result, a device with WiFi networking capabilitycannot currently retrieve location information from a WiFi access point.

Most devices that need to know their location contain a GPS receiver andsupporting software. The GPS hardware and software add to the cost ofthe device, and successfully establish a current location only if theGPS receiver can successfully receive the numerous satellite signalsneeded to establish a location fix. Other devices support manualspecification of the device's geolocation coordinates. A limited numberof mobile devices establish a current location fix using technologiesother than GPS, e.g., dead reckoning from a known location, orestablishing a connection to a WiFi access point whose location appearsin a location database.

Devices that could benefit from knowing their own geolocation lack theability. Applications, such as migratable agent applications, which maybe running on a different device and which may be dependent on knowingtheir own location don't work when migrated because the device isignorant of its location. Identifying a WiFi access point's locationbased on a database query provides an accurate location only when theaccess point has been entered into the database and hasn't moved sincethe last database update. Accessing the database requires eithersubstantial on-device storage, or access to the Internet.

What is required is an improved system and method for determininglocations of wireless devices and/or wireless access points.

SUMMARY OF THE INVENTION

In one aspect of the disclosure, there is provided a method fordetermining location. Geolocation information may be received into awireless network device from one or more location aware transient datasources. The wireless network device may process geolocation recordspertaining to the geolocation information to determine a geolocation,for example of the wireless network device.

In one aspect of the disclosure, there is provided a wireless accesspoint configured to provide wireless network access to one or morewireless devices comprising one or more transient data sources and oneor more transient data clients. The wireless access point comprises alocation history manager configured to receive geolocation informationfrom at least one transient data sources and store one or moregeolocation records pertaining to the received geolocation information.

In one aspect of the disclosure, there is provided a method fordetermining the location of a wireless device. Initially, the wirelessdevice accesses an access point and requests one or more geolocationrecords from the access point. The wireless device processes thegeolocation records to calculate a geolocation of the wireless device.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example only, to specificembodiments and to the accompanying drawings in which:

FIG. 1 schematically represents devices within a wireless network;

FIG. 2 depicts a method for determining geolocation of a device of thenetwork; and

FIG. 3 depicts a method for determining a geolocation of a wirelessdevice using geolocation information provided from an access point.

DETAILED DESCRIPTION OF THE INVENTION

In FIG. 1, there is shown a network device 12 that is able tocommunicate with one or more other wireless network devices 14, 16. Inone embodiment, the network device 12 may be a wireless access pointthat provides network access to the wireless network devices 14, 16 whenthe wireless network devices 14, 16 are “nearby”. Thus the wirelessdevices 14, 16 may be considered to be transient clients of the networkdevice 12. While the network device 12 will be referred to herein as anaccess point, other arrangements, such as peer-to-peer arrangements willbe apparent to a person skilled in the art.

In the foregoing description, the wireless network devices 14 will beconsidered to be location aware devices, e.g. by virtue of an in-builtGPS capability, a tracking capability, or other location awaremechanism. The specific mechanism by which the devices 14 are locationaware is not considered to be pertinent to the present disclosure. Thewireless network devices 14 will be referred to herein as transient datasources, that is, they provide a source of data to the network device12. The wireless devices 16 will be considered to be location unawaredevices and will be referred to herein as transient data clients, thatis, they receive data from the network device 12. In embodiments of theinvention, the transient data source 14 and/or the transient data client16 may include one or more of a cellular telephone handset, a laptop orhandheld computer, or similar devices with WiFi and with or without GPScapabilities.

A method for determining location is depicted in the flowchart 100 ofFIG. 2. At step 101, the access point 12 receives geolocationinformation from location aware transient data sources 14. At step 102,the access point 12 stores geolocation records pertaining to thegeolocation information. At step 103, the geolocation records areprocessed, e.g. by the access point 12 or by a transient data client 16to which the geolocation records have been provided, in order todetermine a geolocation of the respective device.

As shown in the flowchart 200 of FIG. 3, a wireless device such as atransient data client 16 may access the access point 12 (step 201) torequest geolocation records (step 202). At step 203, the transient dataclient 16 processes the geolocation records to determine the geolocationof the transient data client 16.

The network device 12 records geolocation information fromlocation-aware devices that are occasionally “nearby” and is able tostore and retrieve a history of such geolocation information. Inaddition to providing the geolocation record history, the network device12 may also provide a collection of services that use the geolocationhistory to produce location-related information upon request from a“nearby” device.

As shown in FIG. 1, the access point 12 is able to support a web browser17 and includes a location history manager service 13 that can beinvoked by sending a URL to the Web browser 17. The location historymanager 13 is configured to store data pertaining to geolocationinformation in a geolocation record and to write the record to storage15. The storage 15 may be provided within the access point 12, oralternatively, the storage 15 may be provided remotely from the accesspoint 12 and be accessible by the access point 12 through a suitablecommunications link (not shown).

The browser 17 supports receiving from a transient data source 14 a URLcontaining a GPS coordinate, timestamp, and sender id, which the browserpasses to the Location History Manager service 13. The Location HistoryManager 13 stores data in a collection of records in storage 15, whereeach record contains the GPS coordinate, timestamp, and sender idprovided by various transient data sources 14. The Location HistoryManager processes the URL to extract the geolocation information, whichis then formatted as a Geolocation record and stored. Any transient dataclient 16 can, via the Web browser, send a URL asking the LocationHistory Manager for one or more geolocation information records, whichthe Location History Manager returns. The geolocation information can beprovided from the access point 12 to the transient data client 16 as rawinformation, i.e. as the geolocation records, or as processedinformation, e.g. in the form of a calculated geolocation.

Neither the transient data source 14 nor the transient data client 16need to be running a specific application. The application retrievingthe Geolocation record need only understand the record's format. Theapplication sends a URL to the Location History Manager via the Webbrowser, and the result is returned as a well-formed Web page, which theapplication processes to extract the Geolocation record(s). The use of aweb browser to send the geolocation records is advantageous because manyWiFi access points already contain a Web server. A web browser alsoserves as a well known API to the Location History Manager, includingmany libraries able to form the URL and parse the returned Web page'sHTML. Other alternatives will be apparent to a person skilled in theart. For example, a similar mechanism is to use a Web service API, wherethe arguments and results are frequently encoded in XML.

The access point 12 may use the location history records to calculatethe approximate location of the access point. In one embodiment, thegeolocation of the access point 12 may be calculated by retrieving themost recent geolocation records from the database 15 and processing thegeolocation records to infer the access point's 12 location. Thegeolocation may be based on the most recent geolocation record, or anaverage of the “x” most recent geolocation records where “x” is apredetermined number, e.g. 10, or “x” is determined by a time limit,e.g. the records received within the last 30 minutes. In one embodiment,the location history manager 13 may process the geolocation records toinfer a trajectory of the access point.

In one embodiment, the geolocation records may include a measure of thesignal strength of a communication between the respective transient datasource 14 and the access point 12. The calculation of the geolocation ofthe access point may therefore be based on the indicated location of oneor more transient data sources 14 coupled with the recorded signalstrength which provides an indication of the distance between thetransient data source 14 and the access point 12. The signal strengthalso aids in computing any error in the location. For example, a highsignal strength will indicate that the access point 12 is within acloser vicinity of the transient data source 14 than a weaker signalstrength. The error can be reduced by combining multiple geolocationrecords coupled with multiple signal strengths from multiple antennas.

In one embodiment, the access point 12 may calculate the (approximate)location of a transient data client 16, especially when the TC containsno native GPS capability. The calculated location may then be passed tothe transient data client 16 for use in location based services. In oneembodiment, the transient data client's 16 location may be based on acalculated location of the access point coupled with a signal strengthof a communication between the access point 12 and the transient dataclient.

In an alternative embodiment, the transient data client 16 can requestgeolocation records from the access point 12 and use the retrievedgeolocation records to internally calculate the transient data client'sown location. The location may be calculated using the access pointbased methods described above, including incorporating a signal strengthbetween the transient data client 16 and the access point 12.

Additional services can also be produced based on the geolocationrecords. In one embodiment, the geolocation records can be used todetermine the number and direction of travel of the passing transientclients, in particular if the access point 12 is stationary. That is, anaccess point can track a transient data source 14 by receiving multiplegeolocation records from the particular data source. If the access point12 is mobile, the geolocation records can be used as a history of theaccess point's movements past transient clients, e.g., to document aguard's movements around a campus.

GPS receivers typically fail inside a building, so retrieving apreconfigured location from one or more access points can provide avalid geolocation to mobile devices as they move inside the building.The capability supports location aware applications such as trackingresidents of a senior living center, including locking exterior doorswhen a resident who should not be outside unaccompanied approaches theexit. Similarly, a mobile device carried by a person with a mentalcondition leading to an inability to navigate might “call home” if thedevice discovers after computing its location that it is outside apredefined boundary, even if the device is inside a building. Forexample, some senior living facilities have a floor to which Alzheimerpatients are restricted, so being on a non-Alzheimer floor but stillinside the facility can be an issue. In a further example, an autonomousvehicle inside a facility might use the above described embodiments tolocate itself, e.g., an automated mail cart, or a self-propelledwarehouse pallet.

In addition to retrieving the location records from the Location HistoryManager, a transient data client 16 can invoke services offered by theaccess point 12. For example, based on the records stored by theLocation History Manager and provided to the transient data client 16,the transient data client 16 can compute, display and provide thecurrent location and the estimated error. The transient data client 16can also compute and provide how frequently the transient data client 16passes the access point 12.

The above described embodiments enable geolocation information to beused by devices that are otherwise unable to access geolocation records,thereby enabling geolocation-related services that the device wouldotherwise not have available.

Although embodiments of the present invention have been illustrated inthe accompanied drawings and described in the foregoing description, itwill be understood that the invention is not limited to the embodimentsdisclosed, but is capable of numerous rearrangements, modifications, andsubstitutions without departing from the spirit of the invention as setforth and defined by the following claims. For example, the capabilitiesof the invention can be performed fully and/or partially by one or moreof the blocks, modules, processors or memories. Also, these capabilitiesmay be performed in the current manner or in a distributed manner andon, or via, any device able to provide and/or receive information.Further, although depicted in a particular manner, various modules orblocks may be repositioned without departing from the scope of thecurrent invention. Still further, although depicted in a particularmanner, a greater or lesser number of modules and connections can beutilized with the present invention in order to accomplish the presentinvention, to provide additional known features to the presentinvention, and/or to make the present invention more efficient. Also,the information sent between various modules can be sent between themodules via at least one of a data network, the Internet, an InternetProtocol network, a wireless source, and a wired source and viaplurality of protocols.

What is claimed is:
 1. A method, comprising: receiving a first at leastone URL comprising a geolocation coordinate and a sender identifier fromone or more first wireless devices into a wireless network access point;storing the geolocation coordinate and the sender identifier in a memoryof the wireless network access point; receiving a second URL requestingthe geolocation coordinate; and processing one or more geolocationrecords associated with a web browser by the one or more first wirelessdevices to determine a geolocation for the wireless network accesspoint.
 2. The method of claim 1 comprising at least one of: providingthe at least one URL from the wireless network access point to a secondwireless device; and processing the provided at least one URL in thesecond wireless device to determine a geolocation of the second wirelessdevice.
 3. The method of claim 2 comprising determining an error in thegeolocation of the second wireless device from a signal strength betweenthe second wireless device and the wireless network access point.
 4. Themethod of claim 1 comprising processing the one or more geolocationrecords in the wireless network access point to determine a geolocationof the wireless network access point.
 5. The method of claim 4comprising at least one of: determining a signal strength between thewireless network access point and the one or more first wirelessdevices; and storing the signal strength in a geolocation recordcorresponding to the respective one or more first wireless device. 6.The method of claim 5 comprising processing the signal strengths of theone or more geolocation records to determine an error in geolocation ofthe wireless network access point.
 7. The method of claim 1 comprisingrecording a signal strength of a communication with the one or morefirst wireless devices into a geolocation record corresponding to theone or more first wireless devices.
 8. The method of claim 7 comprisingdetermining an error in the geolocation using the signal strength of theone or more geolocation records.
 9. The method of claim 1 comprisingprocessing the one or more geolocation records to track movement of thewireless network access point.
 10. The method of claim 1, wherein thewireless network access point provides wireless network service to theone or more first wireless devices.
 11. The method of claim 1,comprising receiving at least one timestamp from the one or more firstwireless devices.
 12. A wireless access point configured to providewireless network access to one or more wireless devices comprising oneor more transient data sources and one or more transient data clients,the wireless access point configured to: receive, from the one or moretransient data sources, a URL including a geolocation coordinate and asender identifier from one or more first wireless devices into thewireless network access point that provides wireless network service tothe one or more first wireless device; retrieve one or more geolocationrecords indicating the geolocation coordinate extracted from the URL;and process the retrieved one or more geolocation records to determine ageolocation of the one or more transient data clients.
 13. The wirelessaccess point of claim 12, wherein the wireless access point includes oris coupled to a location history manager and wherein the locationhistory manager is configured to perform at least one of: receive theURL from the one or more transient data sources, wherein the URLcomprises a timestamp from the one or more first wireless devices; andstore the timestamp in the geolocation record.
 14. The wireless accesspoint of claim 13, wherein the location history manager is configured toreceive a request for the one or more geolocation records from the oneor more transient data clients.
 15. The wireless access point of claim12, wherein the wireless access point includes or is coupled to alocation history manager and wherein the location history manager isconfigured to provide the geolocation of the one or more transient dataclients to the one or more transient data clients.
 16. The wirelessaccess point of claim 12, wherein the wireless access point includes oris coupled to a location history manager and wherein the locationhistory manager is configured to provide the retrieved geolocationrecords to the one or more transient data clients.
 17. The wirelessaccess point of claim 12, wherein the wireless access point includes oris coupled to a location history manager and wherein the locationhistory manager is configured to process the one or more geolocationrecords to track the movement of the wireless access point.
 18. Amethod, comprising: requesting one or more URLs from a wireless accesspoint, the one or more URLs comprising geolocation information and asender identifier received from at least one mobile device to which thewireless access point provided wireless network service, the wirelessaccess point storing the geolocation coordinate and the senderidentifier in a memory of the wireless access point; and processing theone or more URLs by a wireless device to calculate a geolocation of thewireless device.
 19. The method of claim 18 comprising processing asignal strength between the wireless access point and the wirelessdevice to determine an error of the geolocation.
 20. The method of claim18 comprising retrieving the one or more URLs from a URL history managerof the wireless access point.